package archer.framework.utils;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 编号生成器
 *
 * @author christ
 * @date 2015/8/3
 */
public class SimpleNOGenerator {

    public static final String DEFAULT_DATE_FORMAT = "yyMMddHHmmss";

    /**
     * 编号生成
     *
     * @param dateFormat  日期格式
     * @param randomCount 随机数个数
     * @param alphaEnable 是否包含字母
     * @return
     */
    public static String generate(String dateFormat, int randomCount, boolean alphaEnable) {

        String dateStr = new SimpleDateFormat(dateFormat).format(new Date());

        if (alphaEnable) {
            return dateStr + RandomUtils.randomAlphaNumeric(randomCount);
        }

        return dateStr + RandomUtils.randomNumeric(randomCount);
    }

    /**
     * 生成20位编号
     *
     * @return
     */
    public static String generate() {
        return generate(DEFAULT_DATE_FORMAT, 8, false);
    }
}